package com.lt.test.provider.mapper;

import com.lt.test.common.exception.CustomException;
import com.lt.test.entity.QueryModel.PageQueryModel;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;


/**
 * 创建人：lt
 * 创建时间：15:03 2018/1/25
 */
public interface KtCountMapper {
    //科泰数据
	List<Map<String, String>> findProductType(@Param("levelDeep") String levelDeep); //查找产品类型
	List<Map<String, String>> findShopName(); //查找商品类型
	List<Map<String, String>> findArea(Map<String, String> parameter); //查找区域列表
	List<Map<String, String>> findSupplierName(@Param("typeId") String typeId); //供应商名称
	List<Map<String, String>> findSourceArea(); //查找商品产地
	List<Map<String, Object>> findInStoreByPage(PageQueryModel pageQueryModel);   //查询入库单数据
	int findInStoreCount(PageQueryModel pageQueryModel);
	List<Map<String, Object>> selectKtInstoreForExcel(Map<String, String> parameter);
	//int getInStoreCount(PageQueryModel pageQueryModel);   //查询入库单数据
    List<Map<String, Object>> selectKtCollect(Map<String, String> parameter);   //查询汇总数据
    List<Map<String, Object>> selectKtInsCargo(Map<String, String> parameter);  //查询采购数据
    List<Map<String, Object>> selectKtOutCargo(Map<String, String> parameter);  //查询退货数据
    List<Map<String, Object>> getKtShipmentOrderByBeginTimeAndEndTime(Map<String, String> params); //获取门店销售数据
    List<Map<String, Object>> selectKtClassifiedTobaccoSales(Map<String, String> parameter);  //分类烟销售量数据
    List<Map<String,Object>> findShipmentOrderByLastOrderTime(Map<String, String> params) throws Exception;
    List<Map<String,Object>> findTenShipmentOrder(Map<String, String> params) throws Exception;

    List<Map<String,Object>> getShopNameToSelect(Map<String, String> params) throws CustomException;
    List<Map<String, Object>> selectClerks(Map<String, String> parameter); //获取店员员工
    //库存明细汇总
    List<Map<String, Object>> selectStockItem(Map<String, String> params);
    int selectStockItemCount(Map<String, String> params);
    
    List<Map<String, Object>> selectStockItemByArea(Map<String, String> params);
    int selectStockItemByAreaCount(Map<String, String> params);
    
    List<Map<String, Object>> selectSellItem(Map<String, String> params);
    int selectSellItemCount(Map<String, String> params);
    
    List<Map<String, Object>> selectSellItemByArea(Map<String, String> params);
    int selectSellItemByAreaCount(Map<String, String> params);
    
    List<Map<String, Object>> selectCmPerformance(Map<String, String> params);
    int selectCmPerformanceCount(Map<String, String> params);
  
    List<Map<String, Object>> selectRetailerPayCond(Map<String, String> params);
    int selectRetailerPayCondCount(Map<String, String> params);
    //跨行结束日报
    List<Map<String, Object>> listIBCPDaily(Map<String, String> parameter);
    //交易记录查询
    List<Map<String, Object>> listTrans(Map<String, String> parameter);

    List<Map<String, Object>> listMultBind(Map<String, String> parameter);
    //交易记录查询总条数
    int  listTransCount(Map<String, String> parameter);


    List<Map<String, Object>> selectInstockItem(Map<String, String> params);
    int selectInstockItemCount(Map<String, String> params);
    List<Map<String, Object>> selectInstockItemByScode(Map<String, String> params);
    int selectInstockItemByScodeCount(Map<String, String> params);
    
    List<Map<String, Object>> selectKtPss(Map<String, String> params);
    int selectKtPssCount(Map<String, String> params);
    
    List<Map<String, Object>> selectKtPssGBType(Map<String, String> params);
    int selectKtPssGBTypeCount(Map<String, String> params);
    
    List<Map<String, Object>> selectKtPssGBForeType(Map<String, String> params);
    int selectKtPssGBForeTypeCount(Map<String, String> params);
    
    List<Map<String, Object>> selectKtProdInfo(PageQueryModel pageQueryModel);
    int selectKtProdInfoCount(PageQueryModel pageQueryModel);
    
    List<Map<String, Object>> selectKtInOutInfo(PageQueryModel pageQueryModel);
    int selectKtInOutInfoCount(PageQueryModel pageQueryModel);
    
    List<Map<String, Object>> selectKtCollectMoney(Map<String, String> params);
    int selectKtCollectMoneyCount(Map<String, String> params);
    
    List<Map<String, Object>> selectKtCollectMoneyGBShop(Map<String, String> params);
    int selectKtCollectMoneyGBShopCount(Map<String, String> params);
    
    List<Map<String, Object>> selectKtCollectMoneyGBOperator(Map<String, String> params);
    int selectKtCollectMoneyGBOperatorCount(Map<String, String> params);
    
    List<Map<String, Object>> selectKtCollectMoneyGBDate(Map<String, String> params);
    int selectKtCollectMoneyGBDateCount(Map<String, String> params);
    
    List<Map<String, Object>> selectKtCollectMoneyGBType(Map<String, String> params);
    int selectKtCollectMoneyGBTypeCount(Map<String, String> params);
    
    
    //商品库存分析
    List<Map<String, Object>> selectKtSsAnalyse(Map<String, String> params);
    int selectKtSsAnalyseCount(Map<String, String> params);
    //销售汇总列表
	List<Map<String, Object>> salesSummaryList(Map<String, String> parameter);
	//销售汇总列表(区域)
	List<Map<String, Object>> salesSummaryAreaList(Map<String, String> parameter);
	//销售汇总列表 按类别汇总(全部区域)
	List<Map<String, Object>> SalesSummaryTypeAllSQL(Map<String, String> parameter);
	//销售汇总列表 按类别汇总
	List<Map<String, Object>> SalesSummaryTypeSQL(Map<String, String> parameter);
	//获取区域
	List<Map<String, Object>> getArea(Map parameter);
	//获取店铺
	List<Map<String, Object>> getShop(Map parameter);
	//获取商品类型
	List<Map<String, Object>> getGoodsType();
	//获取品牌
	List<Map<String, Object>> getBrand();
	//获取供应商
	List<Map<String, Object>> getSupplier();
	//销售流水表
	List<Map<String, Object>> salesFlowList(Map<String, String> parameter);
	//商品类型与品牌级联
	List<Map<String, Object>> prodTypeLinkBrand(Map<String, String> parameter);
	
	// 按商品库存汇总
	List<Map<String, Object>> StoreQueryProductSQL(Map<String, String> parameter);
	// 按仓库库存汇总
	List<Map<String, Object>> StoreQueryShopSQL(Map<String, String> parameter);
	// 按类别库存汇总
	List<Map<String, Object>> StoreQueryTypeSQL(Map<String, String> parameter);
	// 按品牌库存汇总
	List<Map<String, Object>> StoreQueryBrandSQL(Map<String, String> parameter);
	// 按供应商汇总
	List<Map<String, Object>> StoreQuerySupplierSQL(Map<String, String> parameter);
	//按商品库存汇总(条)
	List<Map<String, Object>> StoreQueryProductSQLT(Map<String, String> parameter);

    //任务进度表
    List<Map<String, Object>> selectKtTaskAnalyse(Map<String, String> params);
    int selectKtTaskAnalyseCount(Map<String, String> params);
    //资金对账表
	List<Map<String, Object>> ktMoneyPaysave(PageQueryModel pageQueryModel);

    List<Map<String, Object>> listMultBindTrans(Map<String, String> params);
}
